Computationally efficient protocols for VDSL system

ABSTRACT

Techniques which reduce the computational burden of the IFFT/FFT section of a DSL data transmission/reception apparatus, taking into account the nature of conventional IFFT/FFT algorithms. These algorithms operate using “butterflies” representing complex calculations performed on input values. The butterflies are here referred to as “simple” if all the input values are zero or if only one input value is non-zero. The invention proposes that the tones which have non-zero amplitudes are selected to maximize (or at least increase) the number of simple butterflies. This is done either in designing the band plans of the communication, or in designing the band plan of a mode of operation of the apparatus having a reduced data transmission rate. The IFFT/FFT section receives information indicating that the IFFT/FFT algorithm can be simplified based on knowledge of which of the input values will be zero, and changes its mode of operation accordingly.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application relates to the following co-pending and commonly assigned patent applications, all filed concurrently herewith: Ser. No. ______, entitled “Allocating Data Between Tones in a VDSL System” (attorney docket number 2005 LW 2383), Ser. No. ______, entitled “VDSL Protocol with Low Power Mode” (attorney docket number 2005 LW 2385), and Ser. No. ______, entitled “Trellis Modulation Protocols for a VDSL System” (attorney docket number 2005 LW 2386), which applications are hereby incorporated herein by reference.

This application claims priority to Singapore Patent Application 200401383-5, which was filed Mar. 5, 2004, and is incorporated herein by reference.

TECHNICAL FIELD

The present invention relates to methods for transmitting data, in particular over telephone lines (typically, copper telephone lines) or similar lines. It further relates to systems arranged to perform the methods.

BACKGROUND

The use of fast Internet connections has grown rapidly over the last few years, and consequently the demand for broadband (high-speed) connections is increasing.

One technology that is very well known in the market is Asymmetric Digital Subscriber Line (ADSL) technology. This employs the frequency spectrum indicated schematically in FIG. 1. “Upstream” communications (that is in the direction from the home or office user premises, “customer premises equipment” or “CPE”, to the “central office”, or “Co” or DSLAM, FTTC, or Fibre To The Curb, or FTTH, Fibre To The Home cabinets) are transmitted on frequencies in the range of 25 kHz (i.e., above the maximum audible frequency of 4 kHz) to 138 kHz. “Downstream” communications are in a higher frequency band from 138 kHz to an upper limit. According to the first two versions of ADSL (ADSL and ADSL2) the downstream band goes up to 1.1 MHz, whereas in ADSL2+ it goes up to 2.2 MHz. The upstream can be also extended from 0 khz up to 276 kHz, also known as All Digital Loop and extended upstream. Within each of the upstream and downstream bands, the range is divided into 4 kHz intervals, “tones,” so that the downstream band includes 256 tones in ADSL and ADSL2 (which is capable of transmitting 8 MBps), and 512 tones in ADSL2+(which is capable of transmitting 28 MBps). Each tone is encoded by quadrature amplitude modulation (“QAM”), and can encode between 0 and 15 bits. During a training phase, the line conditions (signal to noise ratio, SNR) of each of the tones is estimated, and the number of bits which will be encoded in each tone during each frame is selected.

In a typical ADSL modem, the main sections are (i) a Digital Interface (which may use asynchronous transfer mode (ATM)); (ii) a Framer (also referred to here as a framing unit); (iii) an DMT Modulator; (iv) the AFE (Analog Front End); and (v) a Line Driver.

The framer multiplexes serial data into frames, generates FEC (forward error correction), and interleaves data. FEC and data interleaving corrects for burst errors. This allows DMT-based ADSL technology to be suitable for support of MPEG-2 and other digital video compression techniques. For the transmit signal, an Encoder encodes frames to produce the constellation data for the DMT Modulator. It assigns the maximum number of bits per tone (based on measured SNR of each tone) and generates a QAM constellation where each point represents a digital value. Each constellation point is one of N complex numbers, x+iy, where x and y are the phase and amplitude components. The summation of bits in all carriers, multiplied by the frame rate (4 kHz), represents the data rate. For the receive signal, the decoder converts QAM symbols back into the data bitstream.

In the DMT Modulator, a frequency domain processor implements FFT/IFFT and associated processing. In the transmit path, the Inverse Fast Fourier Transform (IFFT) module accepts input as a vector of N QAM constellation points and duplicates each carrier with its conjugate counterpart so the 2N output samples are real. The 2N time domain samples may have for example the last 2N/16 samples appended as a cyclic extension (which may include a cyclic suffix, a windowing function and/or a cyclic prefix extension) for every symbol, and are then delivered to a DAC (digital-to-analog converter). The set of time domain samples represents a summation of all the modulated sub-channels, for the duration of one data frame. In the receive path, the first 2N/16 samples (cyclic prefix) from the ADC are removed from every symbol. A FFT module transforms the carriers back to phase and amplitude information (N complex QAM symbols). Correction for attenuation of the signal amplitude and phase shifts (i.e., overall distortion) is implemented. If the QAM constellation is thought of as points in a grid where rows and columns represent phase and amplitude information respectively, then the grid effectively rotates reference to the constellation points to correct for these distortions.

Based on the SNR, which has been established for the tones, they are classified based on the SNR such that a “path” is selected for each tone through the encoding device, and each of the tones is transmitted along to the framing unit through the corresponding selected transmission path. This is illustrated in FIG. 2(a), in which the framing unit 1 for producing V/ADSL frames receives data along two paths 2, 3. Each path 2, 3 leads to a respective block 4, 5, which constructs respective portions of frames. The frame is shown in FIG. 2(b), including a portion 6 generated by block 8, and a portion 7 constructed by a block 9 (which may be an interleaver). The outputs of the blocks 4, 5 are stored respectively in a fast buffer 8 and interleaved buffer 9, until they are transmitted out of the framing unit 1. Since the interleaver 5 interleaves data over a period of time, data transmitted along path 3 will have a different (higher) latency than data transmitted along the path 2. Thus, these two paths are referred to as different “latency paths” (e.g., they may be referred to as LP1 and LP2). Note that both paths LP1 and LP2 may be interleaved.

DMT technology also includes a feature known as “tone ordering”. This means that the encoder, in forming VDSL symbols (there may be multiple VDSL frames within one VDSL symbol), determines the order in which subcarriers are assigned bits. The term tone ordering is wide enough to include both (i) determining the order in which the subcarriers are assigned data transmitted along a given latency path; and (ii) the order in which the subcarriers are assigned data transmitted along the different latency paths.

Furthermore, the number of bits that are transmitted by each of the tones may be modified if the estimated SNRs of the tones are revised: increasing the number of bits stored per frame in some tones and correspondingly reducing the number of bits stored per frame in other tones. There could be other reasons to dynamically change the bit allocation for spectral reasons too. This process is known as “bit swapping.”

For further details of the ADSL2 standard, the reader is referred to the document ITU-T Recommendation G.992.3 published by the International Telecommunication Union, the disclosure of which is incorporated herein by reference in its entirety.

While ADSL provides Internet connections that are many times faster than a 56K modem, they still are not fast enough to support the integration of home services such as digital television and Video-on-Demand. However, another DSL technology known as very high bit-rate DSL (VDSL) is seen by many as the next step in providing a complete home-communications/entertainment package.

In contrast to ADSL, a conventional VDSL standard (here referred to as VDSL1) uses a number of bands, e.g., as shown in FIG. 3, which may go up to, for example, 12 MHz. Data rates are typically larger than those of ADSL, e.g., 8k samples per VDSL symbol for 4096 point-FFT. VDSL has a number of further differences from ADSL. For example, VDSL1 has different framing method from ADSL2 (for example, with no sync symbol), it does not include Trellis encoding, and its interleaving system is different. In the ADSL2 system, the tone ordering is applied to all the tones used for communication in a given direction. Up until now, two sets of memories were required on a chip. If this feature is incorporated into future versions of VDSL, here referred to as VDSL2, with 4k tones or higher, each of the bit allocation table, gain tables, tone ordering tables each for 4k tones requires significant on-chip memory.

SUMMARY OF THE INVENTION

Embodiments of the present invention aim to provide new and useful protocols for transmitting data through lines such as telephone lines. Typically these protocols have transmission rates of over 24 Mbps, and often much higher.

In general terms, embodiments of the invention propose techniques which reduce the computational complexity of the IFFT/FFT section that a data transmission/reception apparatus has to perform, taking into account the nature of conventional IFFT/FFT algorithms. These algorithms operate using “butterflies” representing complex calculations performed on input values, and composed of “radix calculations.” The radix calculations may be regarded as relatively “simple” if only one input value is non-zero and even simpler (in fact, trivial) if all the input values are zero. In certain circumstances (as described below) it is possible to use pre-knowledge of which tones that have zero amplitudes to simplify the calculations required, and thus save power for example. From one point of view, the invention proposes that the tones having non-zero amplitude are selected to maximize (or at least increase) the number of simple radix calculations, to increase the savings possible.

As in conventional systems, the total number of tones available for the bi-directional communication is generally a power of two. If the tones having non-zero amplitude are a set of consecutive tones, then the number of simple radix calculations is high (at least in the first stage) if there are about 2^(n) consecutive tones in the set, where n is an integer.

Similarly, if the tones having non-zero amplitudes are two groups of consecutive tones, then the number of radix calculations having more than one non-zero input is low (at least in the first stage) if the groups of tones are spaced apart by about 2^(m) tones, where m is an integer.

A first aspect of the invention proposes in general terms that the bands for the transmit and/or receive directions are selected so that the IFFT/FFT algorithms include a relatively large number of simple radix calculations.

The IFFT/FFT module uses the information that certain of the tones have zero amplitude to simplify the computation it performs.

A second aspect of the invention proposes in general terms that the data transmission/reception includes a first (“high data transmission rate”) mode and at least one second (“reduced data transmission rate”) mode in which the rate of data transmission is lower than in the high data transmission rate mode. In the reduced data rate transmission mode, data is only encoded in a subset of the total number of tones employed in the high transmission rate mode, and this subset is selected such that the IFFT/FFT operations include a large number of simple radix calculations.

The IFFT/FFT module (which, when performing the high data transmission rate mode, employs an algorithm designed to be capable of processing data specifying the full range of tones available for transmission in the corresponding direction) is switched, in the reduced data transmission rate mode(s), to a mode of operation that uses the information that certain of the tones are not used to simplify the computation it performs.

The reduced-power mode(s) may be useful when the volume of data that is to be transmitted is reduced, since the economies in the IFFT/FFT module lead to reduced power consumption and reduced memory requirements. It is motivated by the observation that while DSL communication cannot be interrupted completely, the volume of data that it is required to transmit varies considerably with time, and the possibility of a reducing power consumption at certain times is advantageous, for example, to reduce unwanted heat generation or unwanted spectral disturbances to other systems.

In two of the related applications referenced above, it is proposed that tones may be grouped (e.g., subsets of the tones may be defined; each of these subsets is composed only of tones that are used for transmission in the same direction). This grouping may have one of two functions. Firstly, the data that is to be transmitted using a given group of tones can be Trellis encoded together. Secondly, the group of tones can be used for one of more of (i) bit allocation; (ii) bit swapping; (iii) tone ordering; and/or (iv) gain allocation. The purpose of performing the five operations on groups of tones (rather than, for example, on all tones associated with data transmission in the same direction) is to reduce the computational and memory requirements of coding and decoding. This concept may be combined with the second aspect of the present invention. For example, in the high data rate transmission mode, the tones can be grouped such that those tones, which will be used in the reduced data transmission rate mode(s), are grouped together. Thus, the transition between the two modes means ceasing to transmit complete groups of tones, which minimizes the interference with the various uses of the groups described in the previous paragraph.

A third aspect of the invention relates to the IFFT/FFT unit employed in implementing the first and second aspects of the invention. As described above, in order to obtain power savings, the FFT/IFFT unit is capable of receiving control inputs that alter its mode of operation, selecting modes of operation that use the information that certain of the tones have a zero amplitude, and thus skipping certain of the stages required in a full IFFT/FFT algorithm.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred features of the invention will now be described, for the sake of illustration only, with reference to the following figures in which:

FIG. 1 shows the frequency usage of a conventional ADSL technique;

FIG. 2, which is composed of FIGS. 2(a) and 2(b), illustrates tone ordering in a conventional ADSL technique;

FIG. 3 shows the frequency usage of a conventional VDSL technique;

FIG. 4 is composed of FIGS. 4(a) to 4(c), which respectively show a novel IFFT/FFT module which is a first embodiment of the invention, a data transmission section of a transceiver using the module, and a data reception section of a transceiver using the module.

FIG. 5 shows a known band plan;

FIG. 6 shows a radix-2 butterfly;

FIG. 7 shows the result of pre-processing the band plan of FIG. 5 using the radix-2 butterfly of FIG. 6;

FIG. 8, which is composed of FIGS. 8(a) to 8(d), shows a first band plan of a protocol used by an embodiment of the invention, and the steps of processing it;

FIG. 9, which is composed of FIGS. 9(a) to 9(d), shows a second band plan of a protocol used by an embodiment of the invention, and the steps of processing it;

FIG. 10, which is composed of FIGS. 10(a) and 10(b), shows schematically the data transmission rate in various modes of a protocol according to an embodiment of the invention;

FIG. 11 shows a butterfly of a known IFFT/FFT algorithm;

FIG. 12, which is composed of FIGS. 12(a) to 12(d), shows stages of the IFFT processing in a low power mode of an embodiment of the invention; and

FIG. 13, which is composed of FIGS. 13(a) to 13(d), shows stages of the FFT processing in another low power mode of another embodiment of the invention.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Embodiments of the invention will now be described. For the sake of simplicity, many features of the protocol operated by these embodiments are not described, since they are according to the ADSL standard (which is described for example in the document ITU-T Recommendation G.992.3 published by the International Telecommunication Union and is incorporated herein by reference).

These embodiments make use of a novel IFFT/FFT module 10 shown in FIG. 4(a), and which is itself an embodiment of the invention.

Considering first the case that the module is used to perform an IFFT transform, the module includes a buffer 11, which receives amplitude data and which, following the IFFT transform operation, transmits frequency domain data. The IFFT transform is performed by a processing unit 12 which repeatedly reads data from the buffer 11, processes it according to a butterfly operation, and returns it. This is performed under the control of a processor 13 which controls the processing unit 12 to simplify (truncate) the algorithm it performs (alternatively in the implementation the processing unit 13 may be embedded as a part of processing unit 12). Specifically, when the processing unit 12 is performing a stage of the IFFT operation in which the inputs to number of the radix calculations are known to be zero, the processor 13 controls the processing unit 12 to simplify its algorithm by omitting at least some of the unnecessary calculations implied by the zero values.

The structure of a data transmission section of a VDSL transceiver incorporating this module is shown in FIG. 4(b). It includes a framer unit 21, an interleaver unit 22, a QAM encoder 23 generating complex amplitude data for respective tones, the IFFT module 10 of FIG. 4(a), a filter 24, a DAC 25 and a line driver 26. Note that in the complete system the transmit and receive directions may be coupled together (for example, the section shown in FIG. 4(c) which is described below, may additionally include echo-cancellation and also equalizations filters).

Turning now to the case of a data receiving section of the transceiver, the FFT can be performed using the module of FIG. 4(a) but in this case the memory 11 receives from outside the module the time-domain data, and, following the FFT operation, outputs amplitude and phase (x+iy) for respective tones.

The structure of a data transmission section of a VDSL transceiver incorporating this module is shown in FIG. 4(c). It includes a signal input section 31 connected to the line for receiving signals, an analog-to-digital converter 32, a filter 33, an FFT module 10, a QAM decoder 34, a de-interleaver 35, and a data extraction unit 36 for extracting data from frames output by the de-interleaver 35.

Even with existing band plans, the IFFT/FFT module of FIG. 4(a) is capable of making savings by controlling the IFFT/FFT module to omit unnecessary calculations, thereby reducing the computational work of the IFFT/FFT calculations. Suppose that the band plan is the known band plan 997 (shown in FIG. 5), where the two shaded areas (tones 1 to 696, and 1182 to 1634) represent the two bands used for transmission in one direction. In other words, when the IFFT module receives amplitude data indicating that a certain tone has a non-zero value, the portion of the table corresponding to that tone is shown shaded in FIG. 5.

FFT transforms and IFFT transforms may be regarded as a plurality of stages, each involving a butterfly (“radix calculation”). As an illustration of the power saving available using the IFFT/FFT module of FIG. 4(a), suppose that it operates using the well-known radix-2butterfly shown in FIG. 6. In the pre-processing stage, for IFFT each butterfly processing tone N takes the other sample from tone (N−4096). Applying this to the band-plan of FIG. 5, each butterfly at the pre-processing stage, has at most one non-trivial input. Thus no complex addition is needed in these butterflies, only one complex multiplication is needed. There could be many other butterflies where both inputs are trivial inputs and could be skipped. If the number of non-zero tones is 1k in the downstream direction, then only 1k complex multiplications are required. The other 3k butterfly processing stages could be skipped. Referring to FIG. 5, no more butterfly computation is needed in this stage. The result of the pre-processing is shown in FIG. 7. In the next subsequent stages, if the band separation is reduced the number of such reduced radix-2 butterflies doubles from one stage to another as the stride taken halved from one stage to another.

The explanation above assumes that the processor of the IFFT/FFT module of FIG. 4(a) uses the butterfly of FIG. 6. For butterflies of different radices there are different potential savings.

Other systems, which are embodiments of this invention, also include the feature of selecting the tones having non-zero amplitudes for the downstream and upstream directions so as to reduce the power of the FFT/IFFT module and have efficient computations. With the band plans appropriately defined, only a small number of computations will be required (at least in the first stages) and there will be a considerable power saving. The idea here is to propose a scheme such that the FFT/IFFT module only processes the non-trivial data, hence saving a large amount of power. The IFFT/FFT module is controllable to omit those calculations that are not required in view of the selected band plan. The power saving can be more than 50% depending on the number of tones that are used to carry the relevant data. Consequently, it lowers the heat dissipation requirements. This is particularly important for remote DSL equipment, where heat is a challenging problem.

If the downstream band is configured to a number of tones, which is a power of two, efficient implementation could be drawn and significant savings could be achieved. Due to the architecture of the FFT/IFFT, the samples taken for each butterfly computation in stage 0 involves at most one non-trivial sample. This significantly reduces the computation since the samples with value zero do not contribute to the computation and can be bypassed.

The following explanation is based on 4K tones and a radix-2 butterfly. There are eight stages of FFT/IFFT processing and a pre-processing or post-processing stage. In conventional VDSL band plans, tones 513 to 575 are used for all downstream transmission profile (TS 101 270-2 V2.0.8). By contrast in one embodiment of the present invention the band plan is adjusted as shown in FIG. 8(a) whereby the tones assigned to transmission in each direction are aligned to get fewer non-trivial computations. Specifically, FIG. 8(a) shows the initial data distribution in the memory. When amplitude data indicates that a certain tone has a non-zero value, the portion of the table corresponding to that tone is shown shaded. Note that (by a trivial notation difference from FIG. 5) the tones are numbered differently (0 to 4095 instead of 1 to 4096).

FIG. 8(b) shows the result of the pre-processing stage (again, zero values are indicated by no shading; darker shading indicates elements that are transformed from zero to non-zero values by the pre-processing). The radix-2 butterfly takes in two samples in strides of 2k for the first stage, for example {X₁, X₂₀₄₈}. Since X₂₀₄₈ is zero, the two outputs of the radix-2 butterfly are {X₁, X₁W₁} where W₁ is the associated twiddle factor. From FIGS. 8(a) and (b), it is clear that all the radix-2 butterflies in the pre-processing phase and also at stage 0 have only one non-zero value each. It is possible that the pre-processing and stage 0 twiddle factors be combined together into a single stage. These twiddle factors are a subset of the set of twiddle factors needed for the 4K tones IFFT, so no pre-computation and additional storage are required. The outputs are again the product of the non-zero input and a twiddle factor. This process saves one complete stage and significant reduction in computational cycles as well as power consumption. Those butterflies with all inputs of zero value do not have to be processed at all. The radix-2 butterflies in the first stage have either 1 non-zero input or all inputs of value zero. After the first stage of radix-2 processing, some samples still have zero value if the frequency band allocation is done appropriately. If the frequency band groups are chosen with steps of two to power n, 2^(n) where n is an integer value, most computational savings could be achieved while IFFT/FFT processing. The pre-processing stage of the IFFT computation could be combined with the processing of 1st stage of the IFFT processing hence saving computational cycles, memory bandwidth and power consumption.

FIG. 8(c) shows the result of stage 0 processing. Note that this has the same occupancy as FIG. 8(b), because the tones of the radix-2 butterflies are spaced apart by 2048. For example, the tone {2096} and tone {4095} are combined in by radix-2 butterfly and the output is written back to the same locations in the table. FIG. 8(d) shows the result of stage 1 processing. For stage 1, the two inputs spaced by 1024 samples apart are taken to the butterfly in the same fashion as above. For stage 2 of the processing (not shown) samples that are 512 samples spaced apart are taken to the butterfly unit.

A second example of a suitable proposed band plan according to this embodiment is shown in FIG. 9(a), where the significance of shaded and un-shaded entries is as in FIG. 8(a). In this band plan too the two bands in a given direction (tones 63 to 575, and tones 1473 to 1984) each have 2^(n) tones, and are spaced apart by 2^(m) tones (note that n is not equal to m). Pre-processing leads to the usage of tones shown by shading in FIG. 9(b); stage 0 processing to the usage of tones is shown by shading in FIG. 9(c); and stage 1 processing to the usage of tones is shown by shading in FIG. 9(d).

Note that while it is preferred in this embodiment for each of the bands to have exactly 2^(n) tones, and be spaced apart by exactly 2^(m) tones (n is not necessarily equal to m), as in FIGS. 8(a) and 9(a), exact conformity with this rule is not required, and lower (but still appreciable) savings compared to the band plan of FIG. 5 are possible with small departures from the rule, provided that the number of tones per band is substantially equal to a power of two, and the number of tones spacing bands apart is also substantially equal to a power of two. For example, reasonable savings may be achieved if the number of tones is say 2_(n)−k, where k is preferably less than 10% of 2^(n) and more preferably less than 5% of 2^(n). Similarly, the spacing of the bands is preferably a number of tones, which may be written 2^(m)−j, where j is preferably less than 10% of 2^(m) and more preferably less than 5% of 2^(m).

We now turn to embodiments of the invention that are protocols permitting a low power mode of operation, which permits a saving of power consumption in the IFFT in the case of the encoder, or the FFT in the case of the decoder.

In the second embodiment of the invention, the protocol switches from a high data transmission rate mode referred to here as L₁, to a low data rate transmission mode referred to here as L₂. This is illustrated in FIG. 10(a). Note that there may be more than two modes of operation, such that there is a choice of different power saving modes. This is illustrated in FIG. 10(b) in which the protocol uses a first power saving mode L₂ at a first time, and a second power saving mode L₄ at other times.

In an embodiment of the invention, this is achieved by providing the possibility of a low power mode in which data is only transmitted on certain of the frequencies. The other tones are all zeros. The transmitter section of the embodiment again has the overall structure of FIG. 4(b) but in this case the processor 13 has the additional function of switching between the high and low power modes. The processor 13 may also control the line driver to reduce the power supply, and/or control the sampling rate of the DAC. The IFFT processing unit 12 of FIG. 4(a) is controlled in this case also to perform a modified algorithm that incorporates knowledge of what frequencies are unused. This modified algorithm has a reduced computational requirement compared to the form of the IFFT used for the full range of tones. As discussed below, this can result in a power saving of over 50%, depending on the number of tones that are used to carry data in the low power mode. This is particularly important for remote DSL equipment, where heat is a challenging problem.

In the embodiment, the non-zero tones are selected such that in the first stage (“stage 0”) the samples taken for each butterfly computation involve at most one non-trivial sample, and all the trivial samples (involving coefficients which are all zero, or only 1 non-zero coefficient) are bypassed. The IFFT module (or FFT module in the case of the decoder) is controlled to modify its operation based on the saving that is possible due to the trivial samples.

The following explanation, with reference to FIG. 11, is based on the use of 4k tones and a radix-16 butterfly, which is implemented using radix-4. There are three stages of FFT/IFFT processing, and also a pre-processing or post-processing stage. Suppose that the full set of tones are labeled 0 to 4095, that in the high-power mode tones 513 to 575 are used for downstream data flow (as in VDSL according to TS 101 270-2 V2.0.8), and that in the low power mode only these 63 tones are used and the remaining downstream tones are zero. This is illustrated in FIG. 12(a) where the non-zero tones (i.e. tones of non-zero amplitude) are shaded.

After the pre-processing, tones 512 to 575 and 3521 to 3583 are non-zero. FIG. 12(b) shows this data distribution.

The radix-16 butterfly of FIG. 11 takes in 16 samples in strides of 256, for example {X₁, X₂₅₇, X₅₁₃, . . . X₃₅₈₅}. Each radix-4 butterfly in the first phase of the radix-16 butterfly takes the samples in strides of 1024; thus, samples X₅₁₃, X₁₅₃₇, X₂₅₆₁ and X₃₈₆₅ are taken for butterfly processing. Since only X₅₁₃ is non-zero, the four outputs of the radix-4 butterfly are {X₅₁₃, X₅₁₃W₁, X₅₁₃W₂, X₅₁₃W₃} where W₁, W₂ and W₃ are the associated twiddle factors.

From FIG. 11 it is clear that the four radix-4 butterflies in the second phase have only one non-zero value each. The outputs are again the product of the non-zero inputs and twiddle factors. Hence, the radix-16 butterfly outputs are {X₅₁₃, X₅₁₃T₁, X₅₁₃T₁₀, X₅₁₃T₁₁, X₅₁₃T₁₂, X₅₁₃T₁₃, X₅₁₃T₁₄, X₅₁₃T₁₅}, where T_(i) (i=1, . . . , 15) are the combined twiddle factors. These twiddle factors are a subset of the set of twiddle factors needed for the 4k tones of the FFT/IFFT, so no pre-computation or additional storage is required. The radix-16 butterflies in the first stage have either 1 non-zero input or all inputs of value zero. Those butterflies with inputs of zero value do not have to be processed at all. After the first stage of radix-16 processing, the coefficients are as shown in FIG. 12(c). Some samples still have zero value.

The second stage of the IFFT processing takes data in strides of 16, for example {Y1, Y17, Y33, Y49, Y65, Y81, Y97, Y113, Y129, Y145, Y161, Y177, Y193, Y209, Y225, Y241}). The first 4 samples and the last 4 samples are non-zero. Therefore, for each radix-4 butterfly in the first segment, two samples are non-zero and two are zeros. The number of complex additions is halved. There would be no saving in the second stage since the inputs to the four radix-4 butterflies are all non-zero.

There is no potential saving in the third stage. Table 1 shows the breakdown of the computation saving in each stage as a factor of the number of non-trivial tones. For the number of tones from 48 to 63, the pre-processing stage, stage 0 and stage 1 have a computation reduction of approximately 97%, 80% and 10% respectively (1 CMAC≈5 CADD). Overall saving is about 40%. For a number of tones less than 16, even stage 1 can be reduced by up to 40%.

There is no saving in the IFFT processing if the number of tones exceeds 127. Hence, it is preferable to limit the number of tones to this number, and specifically to the range from 513 to 639. TABLE 1 Computation Complexity Table for IFFT Number of non-zero tones Pre-processing Stage 0 Stage 1 Stage 2  0-15 0-15 BF  0-30 BF16′ 256*(2 BF4₁ + 4 256 BF4₂) (1 trivial BF16 BF4₁) 16-31 16-31 BF2 32-62 BF16′ 256*(4 BF4₁ + 4 256 BF4) (1 trivial BF16 BF4₁) 32-47 32-47 BF2 64-94 BF16′ 256*(2 BF4₁ + 2 256 BF4₂ + 4 BF4) BF16 (1 trivial BF41) 48-63 48-63 BF2  96-126 BF16′ 256*(4 256 BF42 + 4 BF4) BF16 64-79 64-79 BF2 128-158 BF16′ 256*(2 BF4 + 256 2 BF42 + 4 BF16 BF4) 80-95 80-95 BF2 160-190 BF16′ 256 BF16 256 BF16  96-127  96-127 BF2 192-254 BF16′ 256 BF16 256 BF16 128-143 128-143 BF2 256 BF16 256 BF16 256 BF16 4K 2K BF2 256 BF16 256 BF16 256 BF16′=15 BF4₁=3 BF16 CMAC, 0 CMAC, 0 CADD CADD (room for optimisation) BF4₂=4 CADD, 3 CMAC BF4=8 CADD, 3 CMAC

Here the term “BF4” means a radix-4 butterfly, BF2 mean a radix-2 butterfly, etc. CADD stands for a complex adder operation, and CMAC for a complex multiplier-accumulator.

We now analyze the power saving for the FFT processing. Assume that in low-power mode, the 64 tones from 960 to 1023 are non-trivial, as shown by shading in FIG. 13(a). These tones fit into the upstream spectrum for all transmission profiles. Unlike the IFFT section, these valid tones are the result of the FFT processing and not the input to the processing. In this case, the scenario is similar to the IFFT but reversed. Note that the analysis here is based on a symmetrical decomposition of the FFT algorithm. In stage 0, there is no potential saving as all the outputs of this stage contribute to the final 64 tones. In stage 1, there is some potential saving but it is only more significant if the final output consists of less than 17 non-zero tones. The saving is substantial in stage 2: only 128 reduced radix-16 butterflies need to be performed. These reduced butterflies consist of only five radix-4 butterflies instead of eight. In the post-processing stage, there are 64 radix-2 butterflies with a single non-zero output. Computation saving in stage 2 and post-processing stage are 69% and 97% respectively. Overall saving is 32%. The tones recommended for the low-power mode is from 960 to 1023. Only 64 tones are proposed in this embodiment since the upstream has lower traffic. TABLE 2 Computation Complexity Table for FFT Number of non-zero Post- tones (n) Stage 0 Stage 1 Stage 2 processing  0-16 256*(BF16) 256*(6*BF4) 2*n*(5*BF4) n*BF2 17-32 256*(BF16) 256*(BF16) 2*n*(5*BF4) n*BF2 33-48 256*(BF16) 256*(BF16) 2*n*(5*BF4) n*BF2 49-64 256*(BF16) 256*(BF16) 2*n*(5*BF4) n*BF2 65-80 256*(BF16) 256*(BF16) 2*n*(5*BF4) n*BF2 81-96 256*(BF16) 256*(BF16) 2*n*(5*BF4) n*BF2  97-112 256*(BF16) 256*(BF16) 2*n*(5*BF4) n*BF2 113-127 256*(BF16) 2*n*(5*BF4) n*BF2 256*(BF16) 128-144 256*(BF16) 256*(BF16) 256*(6*BF4) n*BF2 145-160 256*(BF16) 256*(BF16) 256*(6*BF4) n*BF2 161-176 256*(BF16) 256*(BF16) 256*(6*BF4) n*BF2 177-192 256*(BF16) 256*(BF16) 256*(6*BF4) n*BF2 193-224 256*(BF16) 256*(BF16) 256*(6*BF4) n*BF2 225-256 256*(BF16) 256*(BF16) 256*(6*BF4) n*BF2 4K 256*(BF16) 256*BF16 256*BF16 2K*BF2 BF4=8 CADD, 3 CMAC

We now briefly describe the process of switching between the modes in the embodiments of FIGS. 12 and 13. The command message to switch to low power mode is communicated by the ATU-C (ADSL termination unit—central office). Once the ATU-R (ADSL termination unit—remote) receives the message it may either accept the command or reject the same. If ATU-R in its acknowledgement sends an accept message, after a fixed duration coupled either with sync symbol, the ATU-C may change the state from VDSL to a low band mode. It will be a coordinated transition based on the command protocol, in which all or a combination of one of the IFFT, filter, DAC and line driver change their modes of operation. Since the ATU-C knows the end-to-end delay, it may either synchronize the transition to a new state after a fixed duration of transmitted frame or could also use the synchronization frame as a reference. The ATU-C may also switch to a different mode of transmission after a fixed synchronization frame delay. A command message is appropriately defined to provide the information for the mode of transmission desired (the bands used, or limiting the FFT and frequency spectrum), and/or the delay after which the switch will happen. The frames with a fixed reference could be used to specify the delay.

As mentioned above, in two of the related applications referenced above, it is proposed that tones may be grouped (e.g. subsets of the tones may be defined; each of these subsets is composed only of tones that are used for transmission in the same direction). This grouping may have one of two functions. Firstly, the data which is to be transmitted using a given group of tones can be Trellis encoded together. Secondly, the group of tones can be used for one or more of (i) bit allocation; (ii) bit swapping; (iii) tone ordering; and/or (iv) gain allocation. The purpose of performing the five operations on groups of tones (rather than, for example, on all tones associated with data transmission in the same direction) is to reduce the computational and memory requirements of coding and decoding.

This concept may be combined with the present invention. For example, suppose that a given group is defined to be the frequencies 513 to 576 (i.e., the shaded tones of FIG. 12(a)). In this case, the transition from the high power mode to the low power mode of FIG. 12(a) would not involve disrupting any frequencies of the group. This reduces the computational difficulty of the transition (for example, the bit allocation table for the tones of the group does not have to be modified during the transition).

Although only a few embodiments of the invention have been disclosed in this application, many variations are possible within the scope of the invention as will be clear to a skilled reader. 

1. A method of two-directional communication of data over a line, the communication employing a bandwidth partitioned into a number of bands including at least one band associated with each of the two directions, the method including encoding the data carried in each direction by modulation of a plurality of tones defined within the at least one band associated with that direction, the bands being selected within the bandwidth such that all the bands in a given direction have a number of tones which is substantially equal to a power of 2, and the bands are spaced apart by a number of tones which is substantially equal to a power of
 2. 2. The method according to claim 1 wherein the encoding of the data to be transmitted in at least one of the directions is performed using an IFFT section which includes a memory for receiving amplitude data specifying the amplitudes of the plurality of tones associated with said one direction, and an IFFT processing unit operating iteratively an algorithm including radix calculations on the data stored in the memory, the method including in at least one of the iterations determining that one or more input values of at least one radix calculation are zero, and accordingly simplifying the radix calculation.
 3. The method according to claim 2 wherein the simplifying of the radix computation comprises omitting a calculation step of the radix calculation.
 4. The method according to claim 1 and further comprising decoding of the data using an FFT section which includes a memory for receiving time domain data describing a received signal, and a processing unit including an FFT processing unit operating iteratively an algorithm composed of radix calculations on the data stored in the memory, the method including in at least one of the iterations determining that one or more input values of at least one radix calculation are zero, and accordingly simplifying the radix calculation.
 5. The method according to claim 4 wherein the simplifying of the radix computation comprises omitting a calculation step of the radix calculation.
 6. A method of two-directional communication of data over a line, the communication employing a bandwidth partitioned into a number of bands including at least one band associated with each of the two directions, the method including encoding the data carried in each direction by modulation of a plurality of tones defined within the at least one band associated with that direction, the method including operating selectively in one of at least two modes including: a first mode in which data is transmitted on all the tones associated with communication in the corresponding direction; and at least one second mode in which data is transmitted on a subset of the tones associated with the corresponding direction, the subset being selected as a set of 2^(n) consecutive tones.
 7. The method according to claim 6 wherein the encoding of the data transmitted in at least one direction is performed using an IFFT section which includes a memory for receiving amplitude data specifying the amplitudes of the plurality of tones associated with the one direction, and an IFFT processing unit iteratively performing an algorithm composed of radix calculations on the data stored in the memory, the method including in at least one of the iterations determining that one or more of inputs to at least one radix calculation are zero, and accordingly simplifying the radix calculation.
 8. The method according to claim 7 wherein simplifying the radix computation comprises omitting a calculation step of the radix calculation.
 9. The method according to claim 6 and further comprising decoding the data transmitted in one direction using an FFT section which includes a memory for receiving time domain data describing a received signal, and a processing unit including an FFT processing unit iteratively operating an algorithm composed of radix calculations on the data stored in the memory, the method including in at least one of the iterations determining that one or more inputs to at least one radix calculation are zero, and accordingly simplifying the radix calculation.
 10. The method according to claim 9 wherein simplifying the radix computation comprises omitting a calculation step of the radix calculation.
 11. A method of performing an IFFT transform as part of a method of encoding data for transmission along a line within a bi-directional communication protocol, the method comprising: receiving amplitude data specifying the respective amplitudes of a plurality of tones; and iteratively operating an algorithm composed of radix calculations on the data stored in the memory to generate time-domain data; the method including, in at least one of the iterations, determining that one or more inputs to at least one radix calculation are zero, and accordingly simplifying the radix calculation.
 12. A method of performing an FFT transform as part of a method of decoding data transmitted along a line within a bi-directional communication protocol, the method comprising: receiving time domain data describing the received signal; and iteratively operating an algorithm composed of radix calculations on the data stored in the memory to generate amplitude data specifying the respective amplitudes of a plurality of tones; the method including, in at least one of the iterations, determining that one or more inputs to at least one radix calculation are zero, and accordingly simplifying the radix calculation.
 13. A communication apparatus for use to implement a process of two-directional communication of data over a line, the communication employing a bandwidth partitioned into a number of bands including at least one band associated with each of the two directions, the apparatus including: a signal generation section for generating a signal by encoding the data carried in one direction by modulation of a plurality of tones defined within the at least one band associated with that one direction, the signal generation section including: an input section for receiving data and transforming it into frames; an encoder for using the frames to generate complex amplitude data characterizing the amplitude of the tones associated with the one direction; an IFFT processing unit for receiving the amplitude data, and iteratively operating an algorithm composed of radix calculations on the data stored in the memory to generate time-domain data; and a processor arranged, in at least one of the iterations, to determine that one or more inputs to at least one radix calculation are zero, and accordingly control the IFFT processing unit to simplify the radix calculation; and a signal transmission section including a line driver for transmitting a signal based on the time-domain data.
 14. The communication apparatus according to claim 13 wherein the apparatus is operative to function in a selected one of: a first mode in which data is transmitted on all the tones associated with communication in a corresponding direction; and at least one second mode in which data is transmitted on a subset of the tones associated with the corresponding direction, the subset being selected as a set of 2^(n) consecutive tones, the processor being arranged when the apparatus is in a said second mode to simplify the radix calculation in at least the first stage to omit radix calculations which do not take input values representing any of said set of tones.
 15. The communication apparatus according to claim 14 wherein the processor is arranged, when the apparatus is in a said second mode, to simplify the radix calculation in at least the first stage to omit radix calculations which do not take as input values amplitude data representing amplitudes of any of said set of tones.
 16. The communication apparatus according to claim 13 wherein said apparatus is operative to receive a signal in which there are a plurality of bands associated with said one direction, each of the bands having a number of tones which is substantially equal to a power of 2, and the bands being spaced apart by a number of tones which is substantially equal to a power of
 2. 17. A communication apparatus for implementing a process of two-directional communication of data over a line, the communication employing a bandwidth partitioned into a number of bands including at least one band associated with each of the two directions, the apparatus including: a signal reception section for receiving a signal transmitted in one direction and encoding data by modulation of a plurality of tones defined within the at least one band associated with that one direction, the signal reception section including: an input section for receiving the signal and generating time domain data; an FFT processing unit for receiving the time domain data, and iteratively operating an algorithm composed of radix calculations on the data stored in the memory to generate amplitude data for the respective tones; a processor arranged, in at least one of the iterations, to determine that one or more input values to at least one radix calculation are zero, and accordingly control the FFT processing unit to simplify the radix calculation; and a decoder section for extracting data from the amplitude data. 